From a907867e5c96f2a208874304dcbc5148e64eb21c Mon Sep 17 00:00:00 2001 From: Jimi Xenidis Date: Thu, 14 Sep 2006 14:20:48 -0400 Subject: [PATCH] [POWERPC][XEN] Clean up init_frame_table() figure out its size correctly and remove unused global Signed-off-by: Jimi Xenidis Signed-off-by: Hollis Blanchard --- xen/arch/powerpc/mm.c | 14 ++++++++------ xen/include/asm-powerpc/mm.h | 2 -- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/xen/arch/powerpc/mm.c b/xen/arch/powerpc/mm.c index 1f119f4a75..530a64fb47 100644 --- a/xen/arch/powerpc/mm.c +++ b/xen/arch/powerpc/mm.c @@ -39,7 +39,6 @@ /* Frame table and its size in pages. */ struct page_info *frame_table; -unsigned long frame_table_size; unsigned long max_page; unsigned long total_pages; @@ -190,17 +189,20 @@ int get_page_type(struct page_info *page, unsigned long type) void __init init_frametable(void) { unsigned long p; + unsigned long nr_pages; + int i; - frame_table_size = PFN_UP(max_page * sizeof(struct page_info)); + nr_pages = PFN_UP(max_page * sizeof(struct page_info)); + nr_pages = min(nr_pages, (4UL << (20 - PAGE_SHIFT))); + - p = alloc_boot_pages(min(frame_table_size, 4UL << 20), 1); + p = alloc_boot_pages(nr_pages, 1); if (p == 0) panic("Not enough memory for frame table\n"); frame_table = (struct page_info *)(p << PAGE_SHIFT); - frame_table_size = (frame_table_size + PAGE_SIZE - 1) & PAGE_MASK; - - memset(frame_table, 0, frame_table_size); + for (i = 0; i < nr_pages; i += 1) + clear_page((void *)((p + i) << PAGE_SHIFT)); } long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg) diff --git a/xen/include/asm-powerpc/mm.h b/xen/include/asm-powerpc/mm.h index 734c7a2856..b6dc8df34e 100644 --- a/xen/include/asm-powerpc/mm.h +++ b/xen/include/asm-powerpc/mm.h @@ -229,8 +229,6 @@ extern vm_assist_info_t vm_assist_info[]; #define share_xen_page_with_guest(p, d, r) do { } while (0) #define share_xen_page_with_privileged_guests(p, r) do { } while (0) -extern unsigned long frame_table_size; - /* hope that accesses to this will fail spectacularly */ #define machine_to_phys_mapping ((u32 *)-1UL) -- 2.30.2